/**
 * admin login
 */
require(['../../common'], function() {
  require(['public.login'])
})

define('public.login', [
  'jquery',
  'jqp/validate'
], function($) {
  'use strict';

    var img = $("#J_refresh").children(),
    imgUrl = img.attr("data-src")+"&v="+Math.random();
    img.attr('src',imgUrl);


  var $msg = $('#J_msg')
  var $msgText = $('#J_msg_txt');

  // 提示
  function showLabel(input) {
    if (!$.trim(input.value)) {
      $(input).val('').prev().show()
    }
  }

  $('.input-text').each(function() {
    showLabel(this)
  }).on('focus', function() {
    $(this).prev().hide()
    $msg.hide()
  }).on('blur', function() {
    showLabel(this)
  })

  $('.kv-label').on('focus, click', function() {
    $(this).hide().next().focus()
  })

  // 垂直居中
  var $win = $(window)
  var $box = $('.login-box')
  var winH = $win.height()
  var h = $box.outerHeight()
  var timer;

  function layout() {
    var delta = winH - h
    var t = delta > 40 ? delta / 2 : 20
    $box.css('margin-top', t);
  }

  $win.on('resize', function() {
    timer && clearTimeout(timer)
    timer = setTimeout(function() {
      var H = $win.height()
      if (H - winH !== 0) {
        winH = H
        layout()
      }
    }, 80)
  })

  layout()
  $box.show()

  // 模拟勾选框
  $('.checkbox-a').on('click', function(e) {
    e.preventDefault()
    var $this = $(this)
    var $cb = $this.children('input')
    if ($cb.prop('checked')) {
      $cb.prop('checked', false)
      $this.removeClass('checked')
    } else {
      $cb.prop('checked', true)
      $this.addClass('checked')
    }
  })

  // 刷新验证码
  $('#J_refresh').on('click', function(e) {
    e.preventDefault()
    $(this).children('img').attr('src', function(index, val) {
      return val
    })
  })

  // 登录验证
  $("#J_loginform").validate({
    onblur: false,
    classPlace: '.kv',
    errorPlace: '.kv-error-txt',
    errors: {
      username: {
        required: '请填写登录邮箱',
      },
      password: {
        required: '请输入密码'
      },
      verify: {
        required: '请输入验证码'
      }
    }
  })
    .on('submit', function() {
      var $errs = $(this).children('.error')
      if ($errs.length) {
        $msgText.text($errs.eq(0).find('.kv-error-txt').text())
        $msg.show()
        return false
      }
    })

})
